The disclosure relates generally to a method for grouping of software components, and more specifically, to a method for grouping software components that relate as a group to a software product. The disclosure relates further to a grouping system for grouping of software components, and a computer program product.
In today's networked world software products are composed of a plurality of separate components. Especially in service oriented architecture (SOA) environments, software functions and services may require a set of group of software components interacting as an ensemble for delivering a specific service. Thus, software products may be delivered or shipped that include a plurality of software components. Individual software components may be installable independently from each other. Some components may be used by different software products. Hence, they may only be installed once for delivering the services to different software products. One example may be a database component which may be used for different purposes, as part of different products and, in different configurations. Consequently, such a database component may be a part of several different software products.
However, traceability of individual software components belonging to different software products may become a problem. In particular if a complete map of the software components and related software products should be generated, it may result in a confusing picture. Administrators may face the task to manage the different software product installations and ensure that software product license fees or software product maintenance fees are paid correctly. This may result in compliance issues. Administrators need to be able to clearly relate software components to software products and vice versa. One approach uses software tagging and special functions in system management tools to aid in software discovery, inventory, and asset management. However, administrators may be swamped by the different options to identify and relate software components to software products if many hundreds or many thousands of endpoints like laptop computers, servers, mobile phones, tablet computers, etc., need to be monitored so that all software components may be found and mapped.